-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Run Scala.JS linker in an external process, enable back Scala.JS linking on Windows #676
Run Scala.JS linker in an external process, enable back Scala.JS linking on Windows #676
Conversation
d6a08fc
to
810294a
Compare
810294a
to
22f99af
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
22f99af
to
709f3c7
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
709f3c7
to
16a42db
Compare
1b6b3e3
to
aab6047
Compare
We don't write .scala-build / .bsp under modules anymore, no need of these in the root .gitignore
aab6047
to
1cc72f5
Compare
I'm a bit worried that you have to resort to using scalajs-cli in scala-cli. scalajs-cli should be a last resort. It is always better to use the linker API if one can do so. Reasons include:
|
So that we don't have to embed the whole scala-js linker in the Scala CLI native image.
1cc72f5
to
e7a65d3
Compare
We default to native launchers of scala-js-cli in the current state of this PR. These are built from this repository and pushed as GitHub release assets, where Scala CLI later downloads them. (We already do that kind of thing for scalafmt and metabrowse).
Not sure we were using that from Scala CLI for now anyway. I guess we'll have to make scala-js-cli a server to use that.
In the current state of this PR, we rely on this fork of scala-js-cli (while waiting for scala-js/scala-js-cli#42). I guess it's fine for us to add missing features to scala-js-cli as we add support for them in Scala CLI.
We can basically vendor it for Scala CLI if needed (via this fork). From the Scala CLI point of view, it's basically bits of code that used to be in Scala CLI, and now live in a separate app. |
@sjrd One of the motivations for that is to save the cost of processing the Scala.JS linker classes when generating Scala CLI native images. We're a bit short on memory on our CI workers, to the point that it prevents us from merging some newer developments. And the Scala.JS linker classes seem to take up quite some space in the Scala CLI native images. |
e7a65d3
to
cc4e896
Compare
Seems native image generation works much better with these changes: it takes less than 10 minutes on Linux and Windows, none of the native image jobs complains about time spent in GC, and the native-image memory logging doesn't go above ~3.5 GB 🎉 |
No description provided.